package com.basic.minio.service;

import com.basic.common.core.domain.AjaxResult;
import com.basic.minio.domain.FileQO;
import com.basic.minio.domain.MinioPearVo;
import org.springframework.http.ResponseEntity;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public interface IFileDownloadService {

    /**
     * 分片下载
     */
    public ResponseEntity<byte[]> downloadMultipartFile(FileQO fileQO, HttpServletRequest request, HttpServletResponse response) throws Exception;

    /**
     * 获取分片上传url
     * @param chunkNum 分片数量
     * @param fileName 文件名称
     * @param contentType 文件内容类型
     * @return 返回结果
     */
    public MinioPearVo getChunkUrl(Integer chunkNum, String fileName, String filePath, String contentType);

    /**
     * 文件合并
     * @param chunkNum 分片数量
     * @param fileName 文件名称
     * @param contentType 文件类型
     * @param uploadId 上传ID
     * @param fileMd5
     * @return 返回结果
     */
    public AjaxResult merge(Integer chunkNum, String fileName, String contentType, String uploadId, String fileMd5, String filePath);

}
